package com.triones.ljr.service;

import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.triones.ljr.entity.dto.PolicyOptionDataDO;
import com.triones.ljr.entity.vo.PolicyOptionCategoryVO;
import com.triones.ljr.entity.vo.PolicyOptionDataVO;

import java.util.List;

/**
 * 政策选项
 */
public interface PolicyOptionService {

    /**
     * 分类-列表（分页）
     * @param pageQuery
     * @return
     */
    TableDataInfo<PolicyOptionCategoryVO> categoryPageList(PageQuery pageQuery);

    /**
     * 列表（分页）
     * @param dto
     * @param pageQuery
     * @return
     */
    TableDataInfo<PolicyOptionDataVO> pageList(PolicyOptionDataDO dto, PageQuery pageQuery);

    /**
     * 详情
     * @param id
     * @return
     */
    PolicyOptionDataVO getInfo(Long id);

    /**
     * 检查唯一性
     * @param dto
     * @return
     */
    boolean checkNameUnique(PolicyOptionDataDO dto);

    /**
     * 新增
     * @param dto
     * @return
     */
    boolean add(PolicyOptionDataDO dto);

    /**
     * 修改
     * @param dto
     * @return
     */
    boolean edit(PolicyOptionDataDO dto);

    /**
     * 删除
     * @param id
     * @return
     */
    boolean remove(Long id);

    /**
     * 分类-列表
     * @return
     */
    List<PolicyOptionCategoryVO> selectCategoryAll();

    /**
     * 分类-详情
     * @param id
     * @return
     */
    PolicyOptionCategoryVO getCategoryInfo(Long id);

    /**
     * 选项组数据
     * @param cid
     * @return
     */
    List<PolicyOptionDataVO> optionDataListByCid(Long cid);
}
